<template>
  <div style="color: red">开发中常见的类型转换</div>
  <br />

  <p>
    特殊类型的隐式转换：NaN，0，undefined，null 会转换为false
    ,他在内部做了一个转换（使用Boolean（NaN））其他的会转为true，比如1
  </p>
</template>

<script setup lang="ts" name="Convert">
const value = null;
if (value) {
  console.log("zhen");
} else {
  console.log("jia");
}

// 内部通过Boolean做了一个转换
const res = Boolean(null);
console.log(res);

console.log("@@@@@@@@@@@@");
// 逻辑运算符 && 逻辑非 ||逻辑或
console.log(true && true); //true
console.log(true && false); //false
console.log(false && false); //false
console.log(false && true); //false
console.log(true || false); //true
console.log(true || true); //true
console.log(false || false); //false

console.log(0 && 5);

console.log("@@@@@@@@@");
console.log(undefined == null); //true
console.log(undefined === null); //false

console.log(+(0.1 + 0.2).toFixed(2));
console.log(parseFloat(Number(5.23).toFixed(3)));
const num2 = (4.1).toFixed(2);
console.log(parseFloat(num2));

// 需求:[1,2,3,8,5] 找出相加等于8的数字
const arr = [1, 2, 3, 8, 5];

for (let i = 0; i < arr.length; i++) {
  for (let j = 1; j < arr.length; j++) {
    if (arr[i] + arr[j] == 8) {
      console.log("@", arr[i], arr[j]);
    }
  }
}

// 需求:1+2+3....+100求和
const add = (startV, endV) => {
  return ((startV + endV) * endV) / 2;
};
console.log(add(1, 100));
</script>

<style scoped lang="scss"></style>
